package ar.uba.fi.taller2.cmmiassistant.frontend.reportes;

import java.awt.Color;
import java.awt.Component;
import java.awt.Rectangle;

import javax.swing.JTable;
import javax.swing.table.TableCellRenderer;

import ar.uba.fi.taller2.cmmiassistant.modelo.resultados.ResultadoAreaProceso;

@SuppressWarnings("serial")
public class ResultadoAreaProcesoCellRenderer extends
		PanelAreaProcesoCellRenderer implements TableCellRenderer {

	public ResultadoAreaProcesoCellRenderer() {
		super();
	}

	private static final Color[] colores = new Color[] { Color.RED,
			Color.ORANGE, Color.YELLOW, new Color(127, 255, 0), Color.GREEN };

	public Component getTableCellRendererComponent(JTable table, Object value,
			boolean isSelected, boolean hasFocus, int row, int column) {
		ResultadoAreaProceso resultadoAreaProceso = (ResultadoAreaProceso) value;
		// panel.setSize(new Dimension(rectangle.width, rectangle.height));
		// colores[resultadoAreaProceso.getCapacidad().getNivel()
		// panelColores.setBackground(Color.GREEN);
		int nivel = resultadoAreaProceso.getCapacidad().getNivel();
		if (nivel == 0) {
			setTexto("[Capacidad no establecida]");
		} else {
			setTexto(resultadoAreaProceso.getCapacidad().toString());
			nivel--;
		}
		setColorFondo(colores[nivel]);
		Rectangle rect = table.getCellRect(row, column, false);
		rect.translate(-rect.x, -rect.y);
		getTextoPanel().setBounds(rect);
		rect.width = rect.width * (nivel + 1) / 5;
		getPanelInterno().setBounds(rect);
		return this;
	}

}